// pages/order/index.js
const app = getApp();
Page({

  /**
   * 页面的初始数据
   */
  data: {
      show :!0,
      timer:null,
      planting_fail:!1,
      height:0, 
      orderList:!0,
      btn_list : [//上面导航栏
          {
            type : 200,
            show: 0,
            text: '全部'
          },
          {
            type : 1,
            show: 1,
            text:'待种植'
          },
          {
            type: 2,
            show: 1,
            text: '已种植'
          },
          {
            type: 3,
            show: 1,
            text: '初期'
          },
          {
            type: 4,
            show: 1,
            text: '中期'
          },
          {
            type: 5,
            show: 1,
            text: '完全期'
          },
          {
            type: 6,
            show: 1,
            text: '种植失败'
          }

      ],
      order_list:[//订单列表
      ]
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.getOrderList(200);
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
  
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
  
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
  
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
  
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
  
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
  
  },
  getList :function(e){//订单列表（点击事件）
    var type = e.currentTarget.dataset.type;
    var btn_list = this.data.btn_list;
    [].forEach.call(btn_list,function(value){
      value.show = 1;
      if (value.type === type ){
        value.show = 0;
      }
    })
    this.setData({
      btn_list: btn_list
    });
    this.getOrderList(type);
  },
  getOrderList : function(status){//获取订单列表
    var t = this;
    var url = app.getUrl()+'/planttingTree/order';
    var data = {
      type: 'getOrders',
      wxuserid: wx.BaaS.storage.get('userId'),
      status: status || 0
    };
    app.core(url,'GET',data,function(res){
      t.setData({
        show:!1,
        order_list: res.data,
        noList:res.data.length>0? !1:!0
      })
    })
  },
  getTreeStatus : function(detail){
    //获取当前订单状态（植树状态） 0->待支付 1->待种植 2->已种植 3->初期 4->中期 5->完全期 6->死亡
    let status_list = [], nowStatus='';
    let list = ['已种植','初期','中期','完全期','种植失败（死亡）'];
    let bottom = [1,2,3,5,6,6];
    let status = detail.status-2;
    let is_success ;
    let upStatus = this.getUpStatus(detail);
    for (let i = 0; i < list.length; i++) {
      is_success = upStatus.includes(""+(i+2)) ? 1 : 0;
      nowStatus = 'status_' + (i + 2);
      var image = detail.update_images['status_' + (i + 2)] ? (
        detail.update_images[nowStatus][0] || detail.update_images[nowStatus][1] || detail.update_images[nowStatus][2] || ''
        // || 或者 这里可以看做是 1 || 2 || 3 || 4 意思是1不存在就选2 1，2都不存在就选3 以此类推 直到最后到自定义的值4 
      ) : ''
      status_list.push({
        id: i,
        is_success: is_success,
        text: list[i],
        bottom: bottom[i] + 'rem',
        image: image,
        time: detail.change_time[nowStatus] ? app.fmtDate(detail.change_time[nowStatus]) : '',
        remark: detail.change_remarks[nowStatus] ? detail.change_remarks[nowStatus] : ''
      })
    }
    status_list.reverse();//元素颠倒
    this.setData({
      status_list: status_list
    })
  },
  goToDetail : function(e){
    //获取订单详情
    let t = this;
    [].forEach.call(this.data.order_list,function(value){
      value.id == e.currentTarget.dataset.id && t.getPlanter(value);
    });
  },
  goToCourse : function(e){//设置植树历程
    var t = this;
    let images,times,remarks,detail;
    t.setData({
      show: !0
    });
    setTimeout(function () {
      [].forEach.call(t.data.order_list, function (value) {
        if (value.id == e.currentTarget.dataset.id) { 
          images = value.update_images || '{}';
          remarks = value.change_remarks || '{}';
          times = value.change_time || '{}';
          console.log(typeof images)
          if (typeof images === 'string'){
            value.update_images = JSON.parse(images);
            value.change_remarks = JSON.parse(remarks);
            value.change_time = JSON.parse(times);
          }
          
          detail = value;
        } 
      });
      t.setData({
        orderList: !1,
        order_detail: !1,
        tree_course: !0,
        show: !1
      });
      t.getTreeStatus(detail);
    }, 500)
  },
  getPlanter: function(obj){
    console.log(obj);
    let t = this;
    t.setData({
      order_detail: obj
    });
  },
  cancel: function(){
    this.setData({
      order_detail: false,
      tree_course: false
    })
  },
  getUpStatus: function(detail){
    //当当前订单状态为死亡时 获取之前最后一次的正常更新记录
    var times = detail.change_time;
    let status = [];
    if (times==undefined || !times['status_2']){
      return [];
    }
    for (var value in times){//json对象(格式为{})循环用for in
      status.push(value.split('_')[1]);
    }
    return status;
  },
  comeback: function(){
    this.setData({
      tree_course: false,
      orderList: true
    });
  }
})